/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package lista5_Num2_ClinicaNutricao;

import model.Paciente;
import model.ResultadoAvaliacao;

/**
 *
 * @author Kdc
 */
public class Imc extends CalculosNutricionais {
    
    private double imc;

    @Override
    public void calcula(Paciente p) {
        
        this.imc = Math.abs(p.getPeso()/(p.getAltura()*p.getAltura()));
        
    }

    @Override
    public void classifica(Paciente p) {
        
         String resultado = "INDISPONIVEL";
        
        if(p.getSexo() == 'M')
        {
            if(imc < 20.7)
            {
                resultado = "Abaixo do Peso";
            }
            else if(imc >= 20.7 && imc < 26.4)
            {
                resultado = "No Peso Normal";
            }
            else if(imc >= 26.4 && imc < 27.8)
            {
                resultado = "Marginalmente Acima do Peso";
            }
            else if(imc >= 27.8 && imc < 31.1)
            {
                resultado = "Acima do Peso Ideal";
            }
            else if(imc >= 31.1)
            {
                resultado = "Obeso";
            }    
        }
        else
        {
            if(imc < 19.1)
            {
                resultado = "Abaixo do Peso";
            }
            else if(imc >= 19.1 && imc < 25.8)
            {
                resultado = "No Peso Normal";
            }
            else if(imc >= 25.8 && imc < 27.3)
            {
                resultado = "Marginalmente Acima do Peso";
            }
            else if(imc >= 27.3 && imc < 32.3)
            {
                resultado = "Acima do Peso Ideal";
            }
            else if(imc >= 32.3)
            {
                resultado = "Obeso";
            }
        }
        
        p.addResultado(new ResultadoAvaliacao(imc, resultado, "IMC"));
    }
    
}
